////
//// Copyright (c) 2014, 保留所有权利。
////
//// TradeSync.java
////
//// 作    者：王红燕
//// 当前版本：1.0
//// 2014 下午1:15:59
////
//// 
////
//package com.vanke.agent.sync;
//
//import java.sql.Connection;
//import java.sql.Date;
//import java.sql.PreparedStatement;
//import java.sql.ResultSet;
//import java.util.ArrayList;
//import java.util.List;
//
//
//import org.apache.log4j.Logger;
//
//import com.vanke.agent.ADataSource;
//import com.vanke.agent.C;
//import com.vanke.agent.Cfg;
//import com.vanke.agent.common.CstUtil;
//
///**
// *
// */
//public class TradeSync extends AgentSync {
//	Logger log = Logger.getLogger(TradeSync.class);
//	String table = "s_Trade";
//	String fields = C.FIELDS_TRADE;
//
//	@Override
//	public void sync() {
//		log.info("sync trade");
//		Connection con = ADataSource.getConnection(ADataSource.SCHEMA_MY);
//		Connection wcon = ADataSource.getConnection(ADataSource.SCHEMA_BIZ);
//
//		try {
//
//			String timeStr = dateFormat.format(tradeCfg.beginTime);
//			String now = dateFormat.format(new java.util.Date());
//			
//			String querySql = "SELECT " + fields + "  FROM " + table;
//			// querySql += " where CreatedOn > ? order by CreatedOn asc";
//			log.info("execute: " + querySql + "[" + timeStr + "]");
//
//			String insertSql = CstUtil.formatInsertSql(table, fields);
//			PreparedStatement wpstmt = wcon.prepareStatement(insertSql);
//			int columns = fields.split(",").length;
//
//			PreparedStatement pstmt = con.prepareStatement(querySql);
//			pstmt.setString(1, timeStr);
//
//			ResultSet rs = pstmt.executeQuery();
//			int count = 0;
//			if (!rs.next()) {
//				log.info("no trade is created");
//				ADataSource.close(rs);
//				ADataSource.close(pstmt);
//				return;
//			}
//			List<String> uids = new ArrayList<String>();
//			do {
//				for (int i = 1; i <= columns; i++) {
//					wpstmt.setString(i, rs.getString(i));
//				}
//				try {
//					wpstmt.executeUpdate();
//					count++;
//				} catch (Exception e) {
//					e.printStackTrace();
//					log.error(e);
//				}
//
//				uids.add(rs.getString("TradeGUID"));
//
//				// TODO 通知消息
//
//			} while (rs.next());
//
//			// 保存配置，最后一次的时间
//			Cfg.setConfig(bookingCfg.cfgKey,now);
//			Cfg.save();
//
//			// 关闭
//			ADataSource.close(rs);
//			ADataSource.close(pstmt);
//			ADataSource.close(wpstmt);
//
//			log.info(count + " trade synced");
//
//			// 关联表
//			syncTable("s_Trade2Cst", C.FIELDS_TRADE2CST, uids.toString()
//					.replaceAll("[", "(").replaceAll("]", ")"));
//		} catch (Exception e) {
//			e.printStackTrace();
//		} finally {
//			ADataSource.close(con);
//		}
//	} // ~sync
//}
